home *** CD-ROM | disk | FTP | other *** search
- package
- {
- public class PairDatabase
- {
-
-
- internal var _aEntries:Array;
-
- public function PairDatabase()
- {
- _aEntries = new Array();
- super();
- }
-
- public function load(param1:Array) : void
- {
- var _loc2_:int = 0;
- var _loc3_:Triple = null;
- _loc2_ = param1.pop() as int;
- _aEntries = new Array();
- while(_loc2_ > 0)
- {
- _loc3_ = new Triple(null,null,null);
- _loc3_.First = param1.pop();
- _loc3_.Second = param1.pop();
- _loc3_.Third = param1.pop();
- _aEntries.push(_loc3_);
- _loc2_--;
- }
- }
-
- public function incrementPairCounterLimit(param1:String, param2:String, param3:int) : Boolean
- {
- incrementPairCounter(param1,param2);
- if(getPairCounter(param1,param2) == param3)
- {
- return true;
- }
- return false;
- }
-
- public function getPairCounter(param1:String, param2:String) : int
- {
- var _loc3_:Triple = null;
- _loc3_ = findOrCreate(param1,param2);
- return _loc3_.Third as int;
- }
-
- public function clear() : void
- {
- _aEntries = new Array();
- }
-
- public function dump() : void
- {
- var _loc1_:Triple = null;
- trace("-----");
- for each(_loc1_ in _aEntries)
- {
- trace(_loc1_.First + " " + _loc1_.Second + " " + _loc1_.Third);
- }
- trace("-----");
- }
-
- internal function findOrCreate(param1:String, param2:String) : Triple
- {
- var _loc3_:Triple = null;
- _loc3_ = findEntry(param1,param2);
- if(_loc3_ == null)
- {
- _loc3_ = new Triple(param1,param2,0);
- _aEntries.push(_loc3_);
- }
- return _loc3_;
- }
-
- internal function findEntry(param1:String, param2:String) : Triple
- {
- var _loc3_:Triple = null;
- for each(_loc3_ in _aEntries)
- {
- if(_loc3_.First == param1 && _loc3_.Second == param2)
- {
- return _loc3_;
- }
- }
- return null;
- }
-
- public function incrementPairCounter(param1:String, param2:String) : void
- {
- var _loc3_:Triple = null;
- _loc3_ = findOrCreate(param1,param2);
- _loc3_.Third = (_loc3_.Third as int) + 1;
- }
-
- public function save() : Array
- {
- var _loc1_:Array = null;
- var _loc2_:Triple = null;
- _loc1_ = new Array();
- for each(_loc2_ in _aEntries)
- {
- _loc1_.push(_loc2_.Third);
- _loc1_.push(_loc2_.Second);
- _loc1_.push(_loc2_.First);
- }
- _loc1_.push(_aEntries.length);
- return _loc1_;
- }
- }
- }
-